package com.symria.system.servlet;

import java.util.Date;
import java.util.Timer;

import com.symria.framework.util.DateUtil;
import com.symria.role.util.Logger;
import com.symria.system.scan.DailyJober;

/**
 * @功能描述:执行系统定时任务
 * author：luoyouhua
 * date：Sep 14, 2011 10:31:47 AM 
 */
public class SystemScanTesk implements IStartUp{
	private static final Logger logger = Logger.getLogger(SystemScanTesk.class);
    private static final int DAY = 24 * 3600 * 1000;
    private static SystemScanTesk scan = new SystemScanTesk();
    private static Timer timer = new Timer(false);
	public static SystemScanTesk getInstance(){
	    	return scan;
	}
	public void destory(){
		 System.out.println("destory----------------------------------");
	}
	/**
	 * schedule和scheduleAtFixedRate的区别在于，如果指定开始执行的时间在当前系统运行时间之前，scheduleAtFixedRate会把已经过去的时间也作为周期执行，而schedule不会把过去的时间算上。 
	 * */
	public void init() {
		logger.logInfo("begin system scan tesk!!");
		timer.scheduleAtFixedRate(DailyJober.getInstance(), DateUtil.getDate(DateUtil.absoluteDate(new Date(), 1), "yyyy-MM-dd 01:10:00"), DAY);//每五分钟执行一次
	}
	

}
